#include <Personnel.hpp>
#include <Personne.hpp>

#include <iostream>

Personnel::Personnel(void) : Personne() {
    std::cout << "constructeur 1 de la classe Personnel " << std::endl;
    this->salaireMensuel = 0.0;
    this->numero_bureau = 0;
}

Personnel::Personnel(const char* name, const char* adress, const double salaire, const unsigned int numBureau)
                    : Personne(name, adress) {
        this->numero_bureau = numBureau;
        this->salaireMensuel = salaire;
        std::cout << "constructeur 2 de la classe Personnel ";
        std::cout << "pour la personne [" << name << "]" << std::endl;
    }

Personnel::Personnel(const Personnel &autrePers) : Personne(autrePers) {
    std::cout << "destructeur de la classe Personnel ";
    std::cout << "pour la personne [" << autrePers.nom << "]" << std::endl;
}

Personnel::~Personnel(void) {
    std::cout << "destructeur de la classe Personnel ";
    std::cout << "pour la personne [" << this->nom << "]" << std::endl;
}

double Personnel::getSalaireMensuel(void) const {
    return this->salaireMensuel;
}

void Personnel::setSalaireMensuel(double const s) {
    this->salaireMensuel = s;
}

unsigned int Personnel::getNumeroBureau(void) const {
    return this->numero_bureau;
}

void Personnel::setNumeroBureau(const unsigned int n) {
    this->numero_bureau = n;
}

void Personnel::printInfo(void) {
    std::cout << "Personnel : " << std::endl;
    Personne::printInfo();

    std::cout << "Bureau : " << numero_bureau << std::endl;
    std::cout << "Salaire : " << calculerSalaire() << std::endl;
}

double Personnel::calculerSalaire(void) const {
    return 0;
}
